import BaseManager from "../base/BaseManager";
import HomeCtrl from "../../game/home/HomeCtrl";
import LevelChooseCtrl from "../../game/levelchoose/LevelChooseCtrl";
import GameMainCtrl from "../../game/gamemain/GameMainCtrl";
import GamePauseCtrl from "../../game/gamepause/GamePauseCtrl";
import ResultCtrl from "../../game/result/ResultCtrl";
import PlayerCtrl from "../../game/player/PlayerCtrl";
import TipsCtrl from "../../game/tips/TipsCtrl";
import SoundCtrl from "../../game/sound/SoundCtrl";
import MapCreateCtrl from "../../game/mapcreate/MapCreateCtrl";
import MapReleaseCtrl from "../../game/maprelease/MapReleaseCtrl";
import GuideCtrl from "../../game/guide/GuideCtrl";
import MapLocalCtrl from "../../game/maplocal/MapLocalCtrl";
import ButtonTipsCtrl from "../../game/buttontips/ButtonTipsCtrl";
import LoginCtrl from "../../game/login/LoginCtrl";

export default class ModuleManager extends BaseManager {
    private _module = [];
    constructor(){
        super();
        this.initModule();
    }

    initModule(){
        let list = [
            new HomeCtrl(),
            new LevelChooseCtrl(),
            new GameMainCtrl(),
            new GamePauseCtrl(),
            new ResultCtrl(),
            new PlayerCtrl(),
            new TipsCtrl(),
            new SoundCtrl(),
            new MapCreateCtrl(),
            new MapReleaseCtrl(),
            new GuideCtrl(),
            new MapLocalCtrl(),
            new ButtonTipsCtrl(),
            new LoginCtrl(),
        ];
        this._moduleInst(list);
    }

    private _moduleInst(list: any[]){
        for(let i = 0; i < list.length; ++i){
            this._module.push(list[i]);
        }
    }
}
